/**
 */
package gatperdut.chato.model.Chato.Item.util;

import gatperdut.chato.model.Chato.Item.*;

import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notifier;

import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;

import org.eclipse.emf.ecore.EObject;

/**
 * <!-- begin-user-doc -->
 * The <b>Adapter Factory</b> for the model.
 * It provides an adapter <code>createXXX</code> method for each class of the model.
 * <!-- end-user-doc -->
 * @see gatperdut.chato.model.Chato.Item.ItemPackage
 * @generated
 */
public class ItemAdapterFactory extends AdapterFactoryImpl {
	/**
     * The cached model package.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	protected static ItemPackage modelPackage;

	/**
     * Creates an instance of the adapter factory.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	public ItemAdapterFactory() {
        if (modelPackage == null) {
            modelPackage = ItemPackage.eINSTANCE;
        }
    }

	/**
     * Returns whether this factory is applicable for the type of the object.
     * <!-- begin-user-doc -->
	 * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
	 * <!-- end-user-doc -->
     * @return whether this factory is applicable for the type of the object.
     * @generated
     */
	@Override
	public boolean isFactoryForType(Object object) {
        if (object == modelPackage) {
            return true;
        }
        if (object instanceof EObject) {
            return ((EObject)object).eClass().getEPackage() == modelPackage;
        }
        return false;
    }

	/**
     * The switch that delegates to the <code>createXXX</code> methods.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @generated
     */
	protected ItemSwitch<Adapter> modelSwitch =
		new ItemSwitch<Adapter>() {
            @Override
            public Adapter caseItem(Item object) {
                return createItemAdapter();
            }
            @Override
            public Adapter caseGenericItem(GenericItem object) {
                return createGenericItemAdapter();
            }
            @Override
            public Adapter caseGenericInventory(GenericInventory object) {
                return createGenericInventoryAdapter();
            }
            @Override
            public Adapter caseStack(Stack object) {
                return createStackAdapter();
            }
            @Override
            public Adapter caseFood(Food object) {
                return createFoodAdapter();
            }
            @Override
            public Adapter caseDrink(Drink object) {
                return createDrinkAdapter();
            }
            @Override
            public Adapter caseAmount(Amount object) {
                return createAmountAdapter();
            }
            @Override
            public Adapter caseEntityInventory(EntityInventory object) {
                return createEntityInventoryAdapter();
            }
            @Override
            public Adapter caseEntityInventorySlot(EntityInventorySlot object) {
                return createEntityInventorySlotAdapter();
            }
            @Override
            public Adapter caseWear(Wear object) {
                return createWearAdapter();
            }
            @Override
            public Adapter caseItemTemplate(ItemTemplate object) {
                return createItemTemplateAdapter();
            }
            @Override
            public Adapter caseBoxInventory(BoxInventory object) {
                return createBoxInventoryAdapter();
            }
            @Override
            public Adapter caseTemplateBoxInventory(TemplateBoxInventory object) {
                return createTemplateBoxInventoryAdapter();
            }
            @Override
            public Adapter caseGenericBoxInventory(GenericBoxInventory object) {
                return createGenericBoxInventoryAdapter();
            }
            @Override
            public Adapter defaultCase(EObject object) {
                return createEObjectAdapter();
            }
        };

	/**
     * Creates an adapter for the <code>target</code>.
     * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
     * @param target the object to adapt.
     * @return the adapter for the <code>target</code>.
     * @generated
     */
	@Override
	public Adapter createAdapter(Notifier target) {
        return modelSwitch.doSwitch((EObject)target);
    }


	/**
     * Creates a new adapter for an object of class '{@link gatperdut.chato.model.Chato.Item.Item <em>Item</em>}'.
     * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
     * @return the new adapter.
     * @see gatperdut.chato.model.Chato.Item.Item
     * @generated
     */
	public Adapter createItemAdapter() {
        return null;
    }

	/**
     * Creates a new adapter for an object of class '{@link gatperdut.chato.model.Chato.Item.GenericItem <em>Generic Item</em>}'.
     * <!-- begin-user-doc -->
     * This default implementation returns null so that we can easily ignore cases;
     * it's useful to ignore a case when inheritance will catch all the cases anyway.
     * <!-- end-user-doc -->
     * @return the new adapter.
     * @see gatperdut.chato.model.Chato.Item.GenericItem
     * @generated
     */
    public Adapter createGenericItemAdapter() {
        return null;
    }

    /**
     * Creates a new adapter for an object of class '{@link gatperdut.chato.model.Chato.Item.GenericInventory <em>Generic Inventory</em>}'.
     * <!-- begin-user-doc -->
     * This default implementation returns null so that we can easily ignore cases;
     * it's useful to ignore a case when inheritance will catch all the cases anyway.
     * <!-- end-user-doc -->
     * @return the new adapter.
     * @see gatperdut.chato.model.Chato.Item.GenericInventory
     * @generated
     */
    public Adapter createGenericInventoryAdapter() {
        return null;
    }

    /**
     * Creates a new adapter for an object of class '{@link gatperdut.chato.model.Chato.Item.ItemTemplate <em>Template</em>}'.
     * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
     * @return the new adapter.
     * @see gatperdut.chato.model.Chato.Item.ItemTemplate
     * @generated
     */
	public Adapter createItemTemplateAdapter() {
        return null;
    }

	/**
     * Creates a new adapter for an object of class '{@link gatperdut.chato.model.Chato.Item.BoxInventory <em>Box Inventory</em>}'.
     * <!-- begin-user-doc -->
     * This default implementation returns null so that we can easily ignore cases;
     * it's useful to ignore a case when inheritance will catch all the cases anyway.
     * <!-- end-user-doc -->
     * @return the new adapter.
     * @see gatperdut.chato.model.Chato.Item.BoxInventory
     * @generated
     */
    public Adapter createBoxInventoryAdapter() {
        return null;
    }

    /**
     * Creates a new adapter for an object of class '{@link gatperdut.chato.model.Chato.Item.TemplateBoxInventory <em>Template Box Inventory</em>}'.
     * <!-- begin-user-doc -->
     * This default implementation returns null so that we can easily ignore cases;
     * it's useful to ignore a case when inheritance will catch all the cases anyway.
     * <!-- end-user-doc -->
     * @return the new adapter.
     * @see gatperdut.chato.model.Chato.Item.TemplateBoxInventory
     * @generated
     */
    public Adapter createTemplateBoxInventoryAdapter() {
        return null;
    }

    /**
     * Creates a new adapter for an object of class '{@link gatperdut.chato.model.Chato.Item.GenericBoxInventory <em>Generic Box Inventory</em>}'.
     * <!-- begin-user-doc -->
     * This default implementation returns null so that we can easily ignore cases;
     * it's useful to ignore a case when inheritance will catch all the cases anyway.
     * <!-- end-user-doc -->
     * @return the new adapter.
     * @see gatperdut.chato.model.Chato.Item.GenericBoxInventory
     * @generated
     */
    public Adapter createGenericBoxInventoryAdapter() {
        return null;
    }

    /**
     * Creates a new adapter for an object of class '{@link gatperdut.chato.model.Chato.Item.Stack <em>Stack</em>}'.
     * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
     * @return the new adapter.
     * @see gatperdut.chato.model.Chato.Item.Stack
     * @generated
     */
	public Adapter createStackAdapter() {
        return null;
    }

	/**
     * Creates a new adapter for an object of class '{@link gatperdut.chato.model.Chato.Item.Food <em>Food</em>}'.
     * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
     * @return the new adapter.
     * @see gatperdut.chato.model.Chato.Item.Food
     * @generated
     */
	public Adapter createFoodAdapter() {
        return null;
    }

	/**
     * Creates a new adapter for an object of class '{@link gatperdut.chato.model.Chato.Item.Drink <em>Drink</em>}'.
     * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
     * @return the new adapter.
     * @see gatperdut.chato.model.Chato.Item.Drink
     * @generated
     */
	public Adapter createDrinkAdapter() {
        return null;
    }

	/**
     * Creates a new adapter for an object of class '{@link gatperdut.chato.model.Chato.Item.Amount <em>Amount</em>}'.
     * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
     * @return the new adapter.
     * @see gatperdut.chato.model.Chato.Item.Amount
     * @generated
     */
	public Adapter createAmountAdapter() {
        return null;
    }

	/**
     * Creates a new adapter for an object of class '{@link gatperdut.chato.model.Chato.Item.EntityInventory <em>Entity Inventory</em>}'.
     * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
     * @return the new adapter.
     * @see gatperdut.chato.model.Chato.Item.EntityInventory
     * @generated
     */
	public Adapter createEntityInventoryAdapter() {
        return null;
    }

	/**
     * Creates a new adapter for an object of class '{@link gatperdut.chato.model.Chato.Item.EntityInventorySlot <em>Entity Inventory Slot</em>}'.
     * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
     * @return the new adapter.
     * @see gatperdut.chato.model.Chato.Item.EntityInventorySlot
     * @generated
     */
	public Adapter createEntityInventorySlotAdapter() {
        return null;
    }

	/**
     * Creates a new adapter for an object of class '{@link gatperdut.chato.model.Chato.Item.Wear <em>Wear</em>}'.
     * <!-- begin-user-doc -->
	 * This default implementation returns null so that we can easily ignore cases;
	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
	 * <!-- end-user-doc -->
     * @return the new adapter.
     * @see gatperdut.chato.model.Chato.Item.Wear
     * @generated
     */
	public Adapter createWearAdapter() {
        return null;
    }

	/**
     * Creates a new adapter for the default case.
     * <!-- begin-user-doc -->
	 * This default implementation returns null.
	 * <!-- end-user-doc -->
     * @return the new adapter.
     * @generated
     */
	public Adapter createEObjectAdapter() {
        return null;
    }

} //ItemAdapterFactory
